package com.tangsm.spring.boot.strategy.controller;

import com.tangsm.spring.boot.strategy.message.domain.Message;
import com.tangsm.spring.boot.strategy.message.use.MessageUse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 消息（短信、邮件）服务
 * <p>Spring实现策略模式</p>
 *
 * @author tangsm
 * @date 2021/11/08 10:56
 */
@RestController
@RequestMapping("/message")
public class MessageController {
    @Autowired
    MessageUse messageUse;

    /**
     * 发送消息验证码接口-抽象类实现
     *
     * @param message 消息参数
     * @return 响应结果
     */
    @PostMapping("sendAbs")
    public String sendAbs(@RequestBody Message message) {
        return messageUse.sendAbs(message);
    }

    /**
     * 发送消息验证码接口-接口实现
     *
     * @param message 消息参数
     * @return 响应结果
     */
    @PostMapping("sendInt")
    public String sendInt(@RequestBody Message message) {
        return messageUse.sendInt(message);
    }

    /**
     * 发送消息验证码接口-接口实现2
     *
     * @param message 消息参数
     * @return 响应结果
     */
    @PostMapping("sendInt2")
    public String sendInt2(@RequestBody Message message) {
        return messageUse.sendInt2(message);
    }

}
